ARROW-6314: [C++] Implement IPC message format alignment changes, provide backwards compatibility and "legacy" option to emit old message format#5211
Conversation
|
Will fix the CI issues and arrow_cuda failure (don't currently have CUDA installed on my laptop) |
|
Took a quick scan through and seems reasonable. One question about if we want to memcpy for pre-0.15.0 version. |
|
I pushed a fix for the CUDA issue. |
|
@kszucs not sure what's up with the Buildbot builds |
|
@ursabot build |
|
@emkornfield @tianchen92 note that Java is failing in a really ugly way when sent this new message format I would guess that there are inadequate checks happening. For example it is only checked whether the metadata length is not equal to 0 |
|
Travis CI succeeds except for integration tests, as expected: https://travis-ci.org/wesm/arrow/builds/577931299 Appveyor looking good: https://ci.appveyor.com/project/wesm/arrow/builds/27023793 Going to go ahead and merge this into the integration branch. |
…vide backwards compatibility and "legacy" option to emit old message format This also moves the alignment multiple to `IpcOptions` and adds the `IpcOptions` argument to more functions. Closes #5211 from wesm/ARROW-6314 and squashes the following commits: df3b910 <Wes McKinney> Fix MSVC narrowing warning 62758b6 <Wes McKinney> Code review comments. Copy metadata always in prefix_length==4 legacy case 857a571 <Antoine Pitrou> Fix CUDA IPC 71b2fad <Wes McKinney> Add tests exercising backwards compatibility write and read path 4777d2b <Wes McKinney> Implement backwards compatibility and compatibility mode, pass IpcOptions in more APIs 1a38432 <Wes McKinney> Revert changes to submodule 69883cf <Micah Kornfield> verify 8 bytes alignment fixes ubsan for ipc Lead-authored-by: Wes McKinney <wesm+git@apache.org> Co-authored-by: Antoine Pitrou <antoine@python.org> Co-authored-by: Micah Kornfield <emkornfield@gmail.com> Signed-off-by: Wes McKinney <wesm+git@apache.org>
|
Merged into the integration branch |
…vide backwards compatibility and "legacy" option to emit old message format This also moves the alignment multiple to `IpcOptions` and adds the `IpcOptions` argument to more functions. Closes #5211 from wesm/ARROW-6314 and squashes the following commits: df3b910 <Wes McKinney> Fix MSVC narrowing warning 62758b6 <Wes McKinney> Code review comments. Copy metadata always in prefix_length==4 legacy case 857a571 <Antoine Pitrou> Fix CUDA IPC 71b2fad <Wes McKinney> Add tests exercising backwards compatibility write and read path 4777d2b <Wes McKinney> Implement backwards compatibility and compatibility mode, pass IpcOptions in more APIs 1a38432 <Wes McKinney> Revert changes to submodule 69883cf <Micah Kornfield> verify 8 bytes alignment fixes ubsan for ipc Lead-authored-by: Wes McKinney <wesm+git@apache.org> Co-authored-by: Antoine Pitrou <antoine@python.org> Co-authored-by: Micah Kornfield <emkornfield@gmail.com> Signed-off-by: Wes McKinney <wesm+git@apache.org>
…vide backwards compatibility and "legacy" option to emit old message format This also moves the alignment multiple to `IpcOptions` and adds the `IpcOptions` argument to more functions. Closes #5211 from wesm/ARROW-6314 and squashes the following commits: df3b910 <Wes McKinney> Fix MSVC narrowing warning 62758b6 <Wes McKinney> Code review comments. Copy metadata always in prefix_length==4 legacy case 857a571 <Antoine Pitrou> Fix CUDA IPC 71b2fad <Wes McKinney> Add tests exercising backwards compatibility write and read path 4777d2b <Wes McKinney> Implement backwards compatibility and compatibility mode, pass IpcOptions in more APIs 1a38432 <Wes McKinney> Revert changes to submodule 69883cf <Micah Kornfield> verify 8 bytes alignment fixes ubsan for ipc Lead-authored-by: Wes McKinney <wesm+git@apache.org> Co-authored-by: Antoine Pitrou <antoine@python.org> Co-authored-by: Micah Kornfield <emkornfield@gmail.com> Signed-off-by: Wes McKinney <wesm+git@apache.org>
…vide backwards compatibility and "legacy" option to emit old message format This also moves the alignment multiple to `IpcOptions` and adds the `IpcOptions` argument to more functions. Closes apache#5211 from wesm/ARROW-6314 and squashes the following commits: df3b910 <Wes McKinney> Fix MSVC narrowing warning 62758b6 <Wes McKinney> Code review comments. Copy metadata always in prefix_length==4 legacy case 857a571 <Antoine Pitrou> Fix CUDA IPC 71b2fad <Wes McKinney> Add tests exercising backwards compatibility write and read path 4777d2b <Wes McKinney> Implement backwards compatibility and compatibility mode, pass IpcOptions in more APIs 1a38432 <Wes McKinney> Revert changes to submodule 69883cf <Micah Kornfield> verify 8 bytes alignment fixes ubsan for ipc Lead-authored-by: Wes McKinney <wesm+git@apache.org> Co-authored-by: Antoine Pitrou <antoine@python.org> Co-authored-by: Micah Kornfield <emkornfield@gmail.com> Signed-off-by: Wes McKinney <wesm+git@apache.org>
This also moves the alignment multiple to
IpcOptionsand adds theIpcOptionsargument to more functions.